6.26. Coreutils-8.22

El paquete Coreutils contiene utilidades para mostrar y establecer las características básicas del sistema.

Tiempo aproximado de construcción: 3.4 SBU
Espacio requerido en disco: 116 MB

6.26.1. Instalación de Coreutils

POSIX requiere que los programas de Coreutils reconozcan los límites de los caracteres correctamente, incluso en locales multibyte. El siguiente parche corrige este incumplimiento y otros errores relacionados con la internacionalización:

patch -Np1 -i ../coreutils-8.22-i18n-4.patch
[Note]

Nota

En el pasado, se encontraron muchos errores en este parche. Al reportar nuevos bugs a mantenedores de Coreutils, primero verifique si son reproducibles sin el parche.

Prepara Coreutils para su compilación:

FORCE_UNSAFE_CONFIGURE=1 ./configure \
            --prefix=/usr            \
            --enable-no-install-program=kill,uptime

El significado de las opciones de configure:

--enable-no-install-program=kill,uptime

El propósito de este cambio es evitar que Coreutils instale binarios que serán instalados por otros paquetes después.

Compila el paquete:

make

Ir directamente hasta Install the package si no se ejecuta el banco de pruebas.

Ahora el conjunto de pruebas está listo para ser ejecutado. En primer lugar, ejecute las pruebas que están destinadas a ser ejecutado como usuarioroot:

make NON_ROOT_USERNAME=nobody check-root

Vamos a ejecutar el resto de las pruebas como el usuario nobody. Algunas pruebas, sin embargo, requieren que el usuario sea miembro de más de un grupo. Así que, dado que no nos saltamos estas pruebas, añadiremos un grupo temporal y haremos que el usuario nobody sea parte del mismo:

echo "dummy:x:1000:nobody" >> /etc/group

Fijar algunos de los permisos para que el usuario no root pueda compilar y ejecutar las pruebas:

chown -Rv nobody . 

Ahora ejecutar las pruebas. Asegúrese de que el PATH en el entorno su incluya /tools/bin.

su nobody -s /bin/bash \
          -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"

Quite el grupo temporal:

sed -i '/dummy/d' /etc/group

Instala el paquete:

make install

Mueve los programas a los lugares especificados por el FHS:

mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} /bin
mv -v /usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,rm} /bin
mv -v /usr/bin/{rmdir,stty,sync,true,uname,test,[} /bin
mv -v /usr/bin/chroot /usr/sbin
mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8
sed -i s/\"1\"/\"8\"/1 /usr/share/man/man8/chroot.8

Algunas de las secuencias de comandos en el guiones de arranque dependen de head, sleep, y nice. Como /usrpuede no estar disponible en las primeras fases del arranque, estos binarios deben estar en la partición raíz:

mv -v /usr/bin/{head,sleep,nice} /bin

6.26.2. Contenido de Coreutils

Programas instalados: [, base64, basename, cat, chcon, chgrp, chmod, chown, chroot, cksum, comm, cp, csplit, cut, date, dd, df, dir, dircolors, dirname, du, echo, env, expand, expr, factor, false, fmt, fold, groups, head, hostid, id, install, join, link, ln, logname, ls, md5sum, mkdir, mkfifo, mknod, mktemp, mv, nice, nl, nohup, nproc, numfmt, od, paste, pathchk, pinky, pr, printenv, printf, ptx, pwd, readlink, realpath, rm, rmdir, runcon, seq, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum, shred, shuf, sleep, sort, split, stat, stdbuf, stty, sum, sync, tac, tail, tee, test, timeout, touch, tr, true, truncate, tsort, tty, uname, unexpand, uniq, unlink, users, vdir, wc, who, whoami, and yes
Librería instalada: libstdbuf.so
Directorio de instalación: /usr/libexec/coreutils

Breves Descripciones:

base64

Codifica y decodifica datos de acuerdo con la especificación base 64 (RFC 3548)

basename

Elimina cualquier ruta y sufijo indicado de un nombre de archivo

cat

Concatena ficheros en la salida estándar

chcon

Cambia el contexto de seguridad de archivos y directorios

chgrp

Cambia el grupo propietario de ficheros y directorios

chmod

Cambia los permisos de cada archivo en el modo determinado; el modo puede ser una representación simbólica de los cambios a hacer o un número octal que representa los nuevos permisos

chown

Cambia el usuario y/o el grupo de archivos y directorios

chroot

Ejecuta un comando con el directorio especificado como el directorio raíz /

cksum

Imprime la descubre de redundancia cíclica (CRC) de checksum y la cantidad de bytes de un fichero

comm

Compara dos ficheros ordenados, sacando en tres columnas las líneas que son únicas y las líneas que son comunes

cp

Copia archivos

csplit

Divide un archivo dado en varios archivos nuevos, separándolos de acuerdo con patrones dados o números de línea y muestra el número de bytes de cada nuevo fichero

cut

Imprime secciones de líneas, seleccionando los fragmentos de acuerdo a los campos o posiciones indicadas

date

Muestra la hora actual en un formato determinado o establece la fecha del sistema

dd

Copia un archivo con el tamaño de bloque dado, mientras que, opcionalmente, realiza conversiones en él

df

Muestra la cantidad de espacio en disco disponible (y usado) en todos los sistemas de ficheros montados, o sólo en los sistemas de archivos que contiene los archivos seleccionados

dir

Muestra los contenidos de cada directorio dado (lo mismo que el comando ls)

dircolors

Salidas de comandos para modificar la variable de entorno LS_COLOR para cambiar el esquema de color usado por ls

dirname

Elimina los sufijos que no son directorios del nombre de un archivo

du

Muestra la cantidad de espacio en disco utilizado por el directorio actual, por cada uno de los directorios dados (incluyendo todos los subdirectorios) o por cada uno de los ficheros dados

echo

Muestra la cadena indicada

env

Ejecuta un comando en un entorno modificado

expand

Convierte las tabulaciones a espacios

expr

Evalúa las expresiones

factor

Imprime los factores primos de los números enteros especificados

false

No hace nada, sin éxito; Siempre termina con un código de estado que indica un fallo

fmt

Formatea los párrafos en los ficheros dados

fold

Envuelve las líneas de los ficheros dados

groups

Reporta la pertenencia a grupos de un usuario

head

Imprime las diez primeras líneas (o el número de líneas indicado) de cada fichero dado

hostid

Reporta el identificador numérico (en hexadecimal) del host

id

Informes de las membresías de ID de usuario, ID de grupo y de grupos efectivos del usuario actual o especificado

install

Copia archivos mientras establece sus permisos y, si es posible, su propietario y grupo

join

Une las líneas que tienen campos de unión idénticos a partir de dos archivos separados

link

Crea un enlace duro con el nombre dado a un archivo

ln

Hace enlaces duros o blandos (simbólicos) entre ficheros

logname

Informea del nombre de inicio de sesión del usuario actual

ls

Muestra los contenidos de cada directorio dado

md5sum

Los informes de controles de checksum de Message Digest 5 (MD5)

mkdir

Crea directorios con los nombres dados

mkfifo

Crea First-In, First-out (FIFO), un "named pipe" en la jerga de UNIX, con los nombres que se dan

mknod

Crea nodos de dispositivos con los nombres indicados; un nodo de dispositivo es un archivo de carácter especial, un archivo especial de bloques, o un FIFO

mktemp

Crea archivos temporales de forma segura; que se utiliza en los scripts

mv

Se mueve o cambia el nombre de archivos o directorios

nice

Ejecuta un programa con una prioridad distinta

nl

Números de las líneas de los ficheros dados

nohup

Ejecuta un comando inmune a los cuelgues, con su salida redirigida a un archivo de registro

nproc

Imprime el número de unidades de procesamiento disponible para un proceso

numfmt

Convierte números desde o hacia cadenas legibles

od

Vuelca ficheros en octal y otros formatos

paste

Combina los ficheros indicados, uniendo secuencialmente las líneas de un lado correspondiente a las líneas del otro, separadas por caracteres de tabulación

pathchk

Comprueba si los nombres de ficheros son válidos o portables

pinky

Es un ligero cliente de finger, reporta algo de información sobre un determinado usuario

pr

Pagina y encolumna archivos para impresión

printenv

Imprime el entorno o environment

printf

Imprime los argumentos dados de acuerdo al formato indicado, al igual que la función C printf

ptx

Produce un índice permutado de los contenidos de los ficheros dados, con cada palabra clave en su contexto

pwd

Indica el nombre del directorio de trabajo actual

readlink

Reporta el valor del enlace simbólico indicado

realpath

Imprime la ruta de acceso resuelta

rm

Elimina archivos o directorios

rmdir

Elimina directorios si están vacíos

runcon

Ejecuta un comando con el contexto de seguridad especificado

seq

Imprime una secuencia de números dentro de un cierto rango y con un cierto incremento

sha1sum

Imprime o checksums de 160 bits Secure Hash Algorithm 1 (SHA1)

sha224sum

Imprime checsums de 224-bit Secure Hash Algorithm

sha256sum

Imprime checksums de 256-bit Secure Hash Algorithm

sha384sum

Imprime checksums de 384-bit Secure Hash Algorithm

sha512sum

Imprime checksums de 512-bit Secure Hash Algorithm

shred

Sobrescribe los ficheros indicados repetidamente con patrones complejos, por lo que es difícil recuperar los datos

shuf

Líneas Shuffles de texto

sleep

Pausa por la cantidad de Espacio requerido en disco

sort

Ordena las líneas de los ficheros dados

split

Divide el archivo dado en piezas, por tamaño o por número de líneas

stat

Muestra un archivo o su sistema de archivos

stdbuf

Ejecuta comandos con operaciones de buffering alterados por sus flujos estándares

stty

Establece o muestra los valores de la línea de terminales

sum

Imprime comprobación y el número de bloques para cada fichero dado

sync

Vacía el archivo buffers del sistema; que obliga a los bloques modificados a usar disco y actualiza el superbloque

tac

Concatena los ficheros indicados en reversa

tail

Imprime las últimas diez líneas (o el número de líneas indicado) de cada fichero dado

tee

Lee de la entrada estándar y escribe tanto en la salida estándar como en los ficheros indicados

test

Compara los valores y chequea los tipos de archivo

timeout

Ejecuta un comando con un límite de Espacio requerido en disco

touch

Cambia las marcas de Espacio requerido en disco de los archivos, estableciendo el acceso como de modificación de los ficheros indicados a la hora actual; archivos que no existen se crean con longitud cero

tr

Convierte, altera y borra caracteres de la entrada estándar

true

No hace nada, con éxito; Siempre termina con un código de estado que indica el éxito

truncate

Se encoge o se expande un archivo con el tamaño especificado

tsort

Realiza una ordenación topológica; Escribe una lista totalmente ordenada de acuerdo con el orden parcial del fichero especificado

tty

Indica el nombre de fichero del terminal conectado a la entrada estándar

uname

Muestra información del sistema

unexpand

Convierte los espacios en tabulaciones

uniq

Descarta todas menos una de las líneas idénticas sucesivas

unlink

Elimina el archivo dado

users

Informa de los nombres de los usuarios conectados actualmente

vdir

Es idéntico a ls -l

wc

Indica el número de líneas, palabras y bytes de un archivo determinado, así como una línea de total general cuando se da más de un archivo

who

Informa sobre quién ha iniciado sesión

whoami

Indica el nombre de usuario asociado con el identificador de usuario efectivo actual

yes

Muestra en pantalla "y" o una cadena dada hasta que se mata

libstdbuf.so

Librería usada por stdbuf